package scene;

import raytracer.IntersectionResult;
import raytracer.Ray;
import raytracer.Vector3f;

public abstract class Shape {
	private static int nextId;
	public int id = nextId++;
	
	public Vector3f v = new Vector3f();
	public Vector3f a = new Vector3f();
	public Vector3f pos = new Vector3f();
	public float collisionRadius;
	public boolean collidable = true;
	public boolean givelife;
	public int score = 30;

	public abstract IntersectionResult intersect(Ray ray);

	public abstract String getName();
	
	@Override
	public boolean equals(Object obj) {
		return ((Shape)obj).id == this.id;
	}

}